TARGET = ./lib/$(LIBS)/sdk.a
SHARE_TARGET = ./lib/$(LIBS)/sdk.so
SDK_STATIC = static
SDK_SHARE = share
SDK_BIN = bin

.PHONY: $(TARGET) clean
LIBS_DIR=./lib/$(LIBS)
LIB_STATIC = $(LIBS_DIR)/sdks.a $(LIBS_DIR)/rj_fun.a $(LIBS_DIR)/rj_net.a $(LIBS_DIR)/rj_base.a  $(LIBS_DIR)/jy_proto.a  $(LIBS_DIR)/ts.a $(LIBS_DIR)/jy_base.a $(LIBS_DIR)/libuv.a $(LIBS_DIR)/libssl.a $(LIBS_DIR)/libcrypto.a $(LIBS_DIR)/libiconv.a


$(TARGET):
	if [ -d ./base/rj_base ]; then make -C ./base/rj_base; fi	
	if [ -d ./common/rj_fun ]; then make -C ./common/rj_fun; fi	
	if [ -d ./net/rj_net ]; then make -C ./net/rj_net; fi	
	if [ -d ./jy_proto ]; then make -C ./jy_proto; fi	
	if [ -d ./ts ]; then make -C ./ts; fi	
	if [ -d ./sdk ]; then make -C ./sdk; fi	


$(SDK_SHARE):$(TARGET)
	$(foreach lib_a, $(LIB_STATIC), $(AR) x $(lib_a);)
	$(CXX) -shared -Wl,-Bsymbolic -pthread -o $(SHARE_TARGET) *.o
	rm -rf *.o
	
$(SDK_STATIC):$(TARGET)
	$(foreach lib_a, $(LIB_STATIC), $(AR) x $(lib_a);)
	$(AR) rs $(TARGET) *.o
	$(RANLIB) $(TARGET)
	rm -rf *.o

#$(SDK_BIN):
#if [ -d ./demo ]; then make -C ./demo clean; fi	
#	if [ -d ./demo ];then make -C ./demo/; fi

clean:
	if [ -d ./base/rj_base ]; then make -C ./base/rj_base clean; fi	
	if [ -d ./common/rj_fun ]; then make -C ./common/rj_fun clean; fi	
	if [ -d ./net/rj_net ]; then make -C ./net/rj_net clean ; fi	
	if [ -d ./jy_proto ]; then make -C ./jy_proto clean; fi	
	if [ -d ./ts ]; then make -C ./ts clean; fi	
	if [ -d ./sdk ]; then make -C ./sdk clean; fi
#rm $(TARGET)
